import request from "@/utils/request"
export default {
    // 角色条件分页查询
    getList(query, current = 1, size = 20) {
        return request({
            url: '/system/role/search',
            method: 'post',
            data: { ...query, current, size } // ←左边这项中的“...”是ES6中的新语法，中文名叫“扩展运算符”。其作用是取出作为其参数的对象中的所有可被遍历的属性，并把它们拷贝到当前对象中。因为“数组是特殊类型的对象（因为数组中元素的下标相当于与该数组同名、元素的值和排序相同的对象中的元素的键名（key））”，所以数组也能使用“扩展运算符”。因此，“...query”表示“把对象‘query’中包含的两个属性（查询条件）从‘query’取出来并放到‘data’中”
        })
    },
    // 新增
    add(data) {
        return request({
        url: '/system/role',
        method: 'post',
        data // ←注：左边这项相当于ES5中的“data:data”
        })
    },
    // 查询
    getById(id) {
        return request({
        url: `/system/role/${id}`,
        method: 'get'
        })
    },
    // 更新
    update(data){
        return request({
            url:'/system/role',
            method:'put',
            data // ←注：左边这项相当于ES5中的“data:data”
        })
    },
    // 删除角色
    deleteById(id) {
        return request({
        url: `/system/role/${id}`,
        method: 'delete',
        })
    },
    // 通过角色ID查询该角色所拥有的权限菜单IDs
    getMenuIdsByRoleId(id) {
        return request({
        url: `/system/role/${id}/menu/ids`,
        method: 'get'
        })
    },
    // 保存角色所拥有的权限菜单
    saveRoleMenu(id,menuIds){
        return request({
            url:`/system/role/${id}/menu/save`,
            method:'post',
            data:menuIds
        })
    }
}